04. process {SP}

INDEX

ํ”„๋กœ๊ทธ๋žจ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š” ๊ณผ์ •

The executable file is loaded into memory to become a process

์Šคํฌ๋ฆฐ์ƒท 2023-08-30 ์˜คํ›„ 5.25.51.png

์Šคํƒ์˜์—ญ๊ณผ ํž™ ์˜์—ญ, ์ปค๋„ ์˜์—ญ์˜ ์œ„์น˜์— ์ฃผ๋ชฉํ•˜์ž. ์Šคํƒ์€ higher addr์—์„œ ๋‚ด๋ ค์˜ค๊ณ  ํž™์€ lower addr์—์„œ ์˜ฌ๋ผ์˜จ๋‹ค. brk์€ ํž™์˜์—ญ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ์ž๋ฆฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, brk๊ฐ€ ๋™์ ํ• ๋‹น์‹œ ์ƒ์Šนํ•˜๋Š” ์‹์œผ๋กœ ์ž‘๋™ํ•จ.

Stack Frame

ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ์ด ๋˜๋ฉด ์Šคํƒ์˜์—ญ์— ์Šคํƒํ”„๋ ˆ์ž„์ด ์ถ”๊ฐ€๊ฐ€ ๋˜๋Š”๋ฐ, ๊ทธ ์•ˆ์—๋Š” ๋กœ์ปฌ ๋ณ€์ˆ˜๋“ค, ํ•จ์ˆ˜ ์ธ์ž๋“ค์ด ํ•จ๊ป˜ ๋“ค์–ด์˜จ๋‹ค. ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ mainํ•จ์ˆ˜๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋‹ˆ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ—๋ถ€๋ถ„์—๋Š” main๊ณผ ๊ด€๋ จํ•œ ์Šคํƒํ”„๋ ˆ์ž„์ด ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ํ˜ธ์ถœ ์‹œ ๊ฐ™์ด ์ œ๊ณตํ–ˆ๋˜ ์ธ์ž๋“ค, ์ €์žฅ๋œ PC(Program Counter)๋“ค์ด ์ €์žฅ์ด ๋˜์–ด์žˆ๋‹ค. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์Šคํƒ์˜์—ญ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

Heap

ํž™์˜์—ญ์€ program break๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ปค๋„์ด ๊ด€๋ฆฌํ•˜๋Š”๋ฐ, ํ”„๋กœ๊ทธ๋žจ์ด ์ง์ ‘ ์ปค๋„์—๊ฒŒ break๋ฅผ ์˜ฎ๊ฒจ๋‹ฌ๋ผ๋Š” ์š”์ฒญ์„ ํ•ด์•ผ์ง€๋งŒ ๋ฐ”๋€๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์š”์ฒญํ•˜๋Š” ํ–‰์œ„๊ฐ€ ์ด๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.